#ifndef CHECKERSGAME_H
#define CHECKERSGAME_H

#include "CheckersBoard.h"
#include "CheckersComputer.h"

class CheckersGame
{
    public:
        CheckersGame();
        ~CheckersGame();

        int getCurrentPlayer() { return currentPlayer; }
        void setCurrentPlayer(int val) { currentPlayer = val; }
        int getSelectedRow() { return selectedRow; }
        void setSelectedRow(int val) { selectedRow = val; }
        int getSelectedCol() { return selectedCol; }
        void setSelectedCol(int val) { selectedCol = val; }

        void doNewGame(int pGameType);
        void doClickSquare(int pRow, int pCol); //when pieces are clicked
        void doMovePiece(CheckersMove* pMove);
        //CheckersBoard& getCheckersBoard() { return mCheckersBoard; }
        CheckersBoard* getCheckersBoard() { return mCheckersBoard; }
        int selectGameType();

        int getPlayer1() { return player1; }
        int getPlayer2() { return player2; }
        int getGameType() { return gameType; }
        int getCurrentTurn() { return currentTurn; }

    protected:
    private:
        int currentPlayer;
        int currentTurn; //HUMAN / PLAYER
        int selectedRow;
        int selectedCol;

        bool isPieceSelected;
        bool isGame;
        bool isJumpAgain;

        int gameType;
        int player1, player2;
        CheckersBoard* mCheckersBoard;
        CheckersComputer* mCheckersComputer;
};

#endif // CHECKERSGAME_H
